package com.boco.transnms.server.bo.ibo.workflow;

import com.boco.transnms.common.dto.ApplySheet;
import com.boco.transnms.common.dto.base.BoActionContext;
import com.boco.common.util.except.UserException;
import com.boco.transnms.common.dto.Sign;
import com.boco.transnms.common.dto.base.GenericDO;
import com.boco.transnms.common.dto.base.DboCollection;
import java.util.HashMap;
import com.boco.transnms.common.dto.base.BoQueryContext;
import com.boco.transnms.common.dto.base.DataObjectList;
import com.boco.transnms.common.dto.workflow.ShowApp;
import com.boco.transnms.common.dto.Traph;

public interface IAttempAppSheetBO {
    ApplySheet addAppSheet(BoActionContext actionContext, ApplySheet applySheet) throws UserException;
    void modifyAppSheet(BoActionContext actionContext, ApplySheet applySheet) throws UserException;
    void deleteAppSheet(BoActionContext actionContext,Long applySheetId)throws UserException;
    Sign addSignSheet(BoActionContext actionContext, Sign sign)throws UserException;
    ApplySheet getAppSheetByCuid(BoActionContext actionContext, String appCuid)throws UserException;
    void modifyGenericDO(BoActionContext actionContext, GenericDO genericdo)throws UserException;
//    DboCollection getAppSheetListByDep(BoActionContext actionContext,String depId,String year)throws UserException;
    Sign getSignByCuid(BoActionContext actionContext,String signCuid)throws UserException;
    DboCollection getAppListByQuery(BoQueryContext actionContext,HashMap conMap)throws UserException;
    ApplySheet getAppSheetByObjectId(BoActionContext actionContext,Long appObjectId)throws UserException;
    byte[] showAppSheet(BoActionContext actionContext,Long appObjectId)throws UserException;
    DataObjectList getSignBySheetId(BoActionContext actionContext,String sheetId,Long type)throws UserException;
    ShowApp getShowApp(BoActionContext actionContext,String appCuid)throws UserException;
    ApplySheet getByHeadingNum(BoActionContext actionContext,String headingNum)throws UserException;
    String getAppCodeByDepId(BoActionContext actionContext,String depId,String year,Long resourceType)throws UserException;
    void modifyAppSheetState(BoActionContext actionContext,String appCuid,Long appState)throws UserException;
    DataObjectList getByQueryString(BoActionContext actionContext,String sql)throws Exception;
    DataObjectList getByHeadingNumCode(BoActionContext actionContext,String headingNumCode,Long resourceType)throws UserException;
	DataObjectList getSendUser(BoActionContext context,String rocuid) throws Exception;
    DboCollection getSendAttempSheet(BoActionContext actionContext,String rcuid,String startTime,
                      String endTime,String ocuid) throws Exception;
    DboCollection getQSendAttempSheet(BoQueryContext queryContext,String rcuid,String startTime,
                      String endTime, String orgCuid) throws Exception;
     DataObjectList getAllOrg(BoActionContext actionContext)throws Exception;
     DataObjectList getGiveUser(BoActionContext actionContext,String oid)throws Exception;
     DboCollection getSendAttempSheet2(BoActionContext actionContext,String rcuid,String ocuid,String startTime,
                     String endTime) throws Exception;
    DboCollection getQSendAttempSheet2(BoQueryContext queryContext,String rcuid,String ocuid,String startTime,
                     String endTime) throws Exception;
    DboCollection getAppListForExcel(BoActionContext actionContext, HashMap conMap) throws Exception;
    String getUnArchiveApplyList(BoActionContext actionContext, String attempCuid) throws Exception;
//    Long addHxApplySheet(HxApplySheet hxSheet) throws Exception;
    ApplySheet getAppSheetByHxCode(BoActionContext actionContext, String hxCode) throws Exception;
    Traph getTraphByAppDgnCuid(BoActionContext actionContext, String appCuid, String dgnCuid) throws Exception;
    Long writeHxSysResult(BoActionContext actionContext, String appCuids, String attCuid) throws Exception;
    void deleteAppSheetBySql(BoActionContext actionContext, String sql) throws Exception;
    DboCollection getWfAppList(BoQueryContext queryContent, String sql) throws Exception;
    DboCollection getExtWfAppList(BoQueryContext queryContent, String sql) throws Exception;
}
